This application claims the benefit of Japanese Patent Application No. 99-01434, which was filed in the Japanese Patent Office on Jun. 9, 1999, and which is incorporated herein by reference.
1. Field of the Invention
The present invention pertains to devices, methods, and software programs for checking source programs. More particularly, the present invention relates to source program checking in which a user is allowed to output an indicated message in a required order.
2. Description of the Related Art
Programs to be executed by a computer are generally written in the C programming language and other computer languages. Such a source program is translated by a compiler, and an object program is prepared comprising a command list in machine language. At this stage the compiler checks the syntax of the source program which was input and outputs an error information list, if any syntax errors are detected.
The range of possible errors in a source program, however, is not limited to syntax errors detectable by a compiler. For example, even if the source program is syntactically correct, it may cause a logical conflict in a process, which in turn may impair the performance of the system. Generally, numerous errors may exist which the compiler may be unable to detect.
For this reason, a source program checking device has been proposed which can output indications of errors and caution situations in the source program. The proposed device also provided a message suggesting how to revise the source program to avoid those errors and caution situations. Such a device was disclosed in Japanese Published Application No. JP8-69380, entitled xe2x80x9cSource Program Checking Device.xe2x80x9d
The disclosed source program checking device has an inputting means that inputs a source program and an analytical means that pattern check items and analyzes the source program. The device also has an outputting means that receives the analyzed result from the analytical means and outputs the extracted result as an indicated message. Such a device therefore enables a unified review of a programming task to check for contradictory sections in code prepared in a previous task. Moreover, such a device also enables checking for any problems such as performance, logic, and setting of variables/reference relationships (undefined or unused).
Conventionally, such a source program checking device has been able to output appropriate messages in a check result according to line numbers of the source program. Alternatively, the device could output the messages in a predetermined order according to types of messages.
Such a source program checking device would output a great number of indicated messages from a check result. This large volume of messages made it difficult for a user to quickly search for and identify all of the messages requiring immediate attention and correction.
The conventional source program checking device that output indicated messages in order of line numbers was unable to meet the requirements of users who needed to search quickly for all messages requiring urgent attention. This deficiency stemmed from the fact that the order of the line numbers has nothing to do with the degree of urgency of the generated messages. Devices that generated message output in a predetermined order by type of message were unable to provide a clear indication of which messages were more urgent. Thus, output of messages according to message type has also failed to meet users"" requirements.
The present invention resolves the problems noted above by providing output of program-checking messages in order of urgency. It is an object of this invention to facilitate a quick search of all messages requiring urgent revision by the user.
In a first aspect, the present invention provides a device for checking a source program according to prescribed check items and outputting a check result from which an indicated message is generated. Such a device comprises means for grouping the indicated message into a group corresponding to a type of the indicated message, and means for editing the indicated message for output based on the group.
The source program checking device of this aspect thus checks prescribed check items upon analyzing a source program and outputs a check result as an indicated message. The device groups indicated messages by type and edits the indicated messages to be output based on the set grouping.
The means to edit the indicated message to be output may be constituted to determine whether to xe2x80x9coutputxe2x80x9d or to xe2x80x9cnot outputxe2x80x9d the indicated message based on the group so set. The editing means may also determine the outputting order of the indicated message based on the set grouping.
In a second aspect, the present invention provides a device for checking a source program according to prescribed check items and outputting a check result from which an indicated message is generated. Such a device comprises means for determining an urgency of the indicated message and means for determining a relative order for output of the indicated message based on the urgency.
Thus, the second aspect of the invention provides a source program checking device that checks prescribed check items upon analyzing the source program and outputs an indicated message conveying a check result. The means to determine the urgency of the indicated message as a check result may be constituted to determine the urgency based on historical information by type of the indicated message.
A program to implement the above individual processing means by a computer can be encoded on a suitable recording medium, such as a portable storage medium, a semiconductor memory, a hard disk, and so forth, which is readable by the computer.
The present invention operates in the following manner. Whether a certain message must be urgently resolved depends on the individual, the use environment, and the subject matter of development. For this reason, it is advantageous to allow the user of the source program checking device to freely group messages by a group setting means. The user can thereby select and indicate only the messages of a certain group. In this manner, the user can selectively review only the messages the user deems urgent.
Moreover, messages to which the user has most often responded with revisions are defined as messages of high urgency. When the source program is checked and compared with the previous messages, the numbers of revisions are determined according to type of message and added to accumulated numbers of revisions by message type. If messages are output in descending order of the number of revisions of accumulated messages, the result is an output of indicated messages in order of urgency. The more often the source program checking device is used, the more accurate the determination of degree of urgency becomes.
In an alternative aspect, the present invention further provides a device, comprising a storage storing an indicated message corresponding to a result of checking a source program according to prescribed check items. Such a device also comprises a processor grouping the indicated message based on a type thereof and determining an output status of the indicated message based on the grouping thereof.
In a further alternative aspect, the present invention provides a device, comprising a storage storing an indicated message corresponding to a result of checking a source program according to prescribed check items. Such a device also comprises a processor determining an urgency of the indicated message based on a type thereof and determining a relative order for output of the indicated message based on the urgency.